# 思路：
# 先进行排序，排序后可以选择连续的区间，选择的条件满足：
# 左窗口区间[x-k,x+k]和右窗口区间[y-k,y+k]的交集不为空，即满足，x+k>=y-k  ==> y-x<=2k
from typing import List

class Solution:
    def maximumBeauty(self, nums: List[int], k: int) -> int:
        nums.sort()
        ans=left=0
        for right,x in enumerate(nums):
            # 移除左区间的值
            while x-nums[left]>2*k:
                left+=1
            # 更新答案
            ans=max(ans,right-left+1)
        return ans
